查看原文
其他

推荐一个基于 SpringBoot + Vue 智慧停车场系统(附源码)

GitHub猿 2022-07-01

来自:GitHub猿 整理自 爪哇笔记

往期文章:推荐一个高仿的网易云音乐系统(附源码)!


正文


大家好,我是GitHub猿。今天,推荐一个智慧停车系统项目。

上次是谁要的智慧停车系统项目啊,猿哥帮你找到了。

这是我目前见过的最好的智慧停车系统项目。功能完整,代码结构清晰。值得推荐。

简介


MQTT:它构建在TCP/IP之上,用于受限制的设备和不可靠的网络,应用于许多(开放源码)代理实现和许多客户机库。它包含用于不良网络/连接的IoT特定特性,并被广泛使用(主要用于物联网,但也通过MQTT通过WebSockets用于web和移动应用程序)。

基础环境


JDK1.8、Maven、Mysql、IntelliJ IDEA、payCloud

MQTT 安装


这里使用 Docker 一键安装:

docker run -d --name emqx -p 1883:1883 -p 8081:8081 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx:4.3.5

默认账号 admin 密码 public

搜索公众号GitHub猿回复“打飞机”,送你一份惊喜礼包。

整合


配置 pom.xml 引入:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-integration</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-stream</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-mqtt</artifactId>
</dependency>

配置 application.properties 引入:

spring.mqtt.username = admin
spring.mqtt.password = public
spring.mqtt.url = tcp://127.0.0.1:1883
spring.mqtt.client.id = HDC-DNC
spring.mqtt.default.topic = topic
spring.mqtt.default.completionTimeout = 3000

发送配置:

@Slf4j
@Configuration
@IntegrationComponentScan
public class MqttSenderConfig {

@Value("${spring.mqtt.username}")
private String username;
@Value("${spring.mqtt.password}")
private String password;
@Value("${spring.mqtt.url}")
private String hostUrl;
@Value("${spring.mqtt.client.id}")
private String clientId;
@Value("${spring.mqtt.default.topic}")
private String defaultTopic;
@Value("${spring.mqtt.default.completionTimeout}")
private int completionTimeout;

@Bean
public MqttConnectOptions getMqttConnectOptions() {
MqttConnectOptions mqttConnectOptions = new MqttConnectOptions();
mqttConnectOptions.setCleanSession(true);
mqttConnectOptions.setConnectionTimeout(10);
mqttConnectOptions.setKeepAliveInterval(90);
mqttConnectOptions.setAutomaticReconnect(true);
mqttConnectOptions.setUserName(username);
mqttConnectOptions.setPassword(password.toCharArray());
mqttConnectOptions.setServerURIs(new String[]{hostUrl});
mqttConnectOptions.setKeepAliveInterval(2);
return mqttConnectOptions;
}

@Bean
public MqttPahoClientFactory mqttClientFactory() {
DefaultMqttPahoClientFactory factory = new DefaultMqttPahoClientFactory();
factory.setConnectionOptions(getMqttConnectOptions());
return factory;
}

@Bean
@ServiceActivator(inputChannel = "mqttOutboundChannel")
public MessageHandler mqttOutbound() {
MqttPahoMessageHandler messageHandler = new MqttPahoMessageHandler(clientId, mqttClientFactory());
messageHandler.setAsync(true);
messageHandler.setDefaultTopic(defaultTopic);
return messageHandler;
}

@Bean
public MessageChannel mqttOutboundChannel() {
return new DirectChannel();
}

}

接口服务:

@MessagingGateway(defaultRequestChannel = "mqttOutboundChannel")
public interface MqttGateway {

void sendToMqtt(String data, @Header(MqttHeaders.TOPIC) String topic);

}


源码获取

扫码下方二维码,后台回复【智慧停车】即可获取


--END--


猿哥个人微信


添加猿哥个人微信即送一份惊喜大礼包


→ 技术资料共享

→ 技术交流社群



版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并表示歉意。谢谢!

往日文章:
推荐一套开源通用后台管理系统(附源码)
牛逼啊!接私活必备的 N 个开源项目!赶快收藏吧(附源码合集第一期)!
推荐一个酷炫的监控系统(附源码)!
分享一个超牛逼的 Java 文件在线预览项目(附源码)!

分享一套开源的即时通讯 IM 聊天系统(附源码)

分享一套开源微信后台开发源码,简单配置就能使用(附源码)!


最近,GitHub猿建了一个「GitHub猿交流群」,欢迎大家一起交流优秀开源项目,也可以宣传自己的开源项目,在 「GitHub猿」公众号后台回复【加群】邀请你入群。

你点的每个赞,我都认真当成了喜欢


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存